People generally like to read books that are similar to other books that they have read and liked. Traditionally, a person could discover books that are similar to books that the person read and liked by speaking with a friend or visiting a bookstore. For example, a friend may have read the same book that the person liked and may be familiar with other books by that author or in that genre. In some cases, the friend may not have knowledge of any specific book that is similar to the book that the person liked, but may share a common taste in literature as the person and may provide a recommendation accordingly.
Systems exist that use simple dimensions to identify books that are similar. For example, the systems can (1) analyze item purchase histories and item viewing histories or a large number of users, (2) compare catalog or bibliographic data (e.g., author, subject, title, etc.) to look for titles with similar attributes, and/or (3) apply traditional collaborative filtering to users' ratings of individual books. However, these existing systems often fail to capture more complex relationships between two or more books that actually matter to a user and that are useful in providing high quality book recommendations.